#! /bin/sh

##  bootstrap file for the VLC media player
##
## Copyright (C) 2005-2008 the VideoLAN team
##
##  Authors: Sam Hocevar <sam@zoy.org>
##           Rémi Denis-Courmont <rem # videolan # org>

set -e

cd "$(dirname "$0")"

if test "$#" != "0"; then
  echo "Usage: $0"
  echo "  Calls autoreconf to generate m4 macros and prepare Makefiles."
  exit 1
fi

ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"

# Check for tools directory
if test -d extras/tools/build/bin; then
  PATH="`pwd`/extras/tools/build/bin:$PATH"
fi

###
###  Get a sane environment, just in case
###
CYGWIN=binmode
export CYGWIN

# Check for pkg-config
if ! "${PKG_CONFIG:-pkg-config}" --version >/dev/null 2>&1; then
	echo 'Error: "pkg-config" is not installed.' >&2
	exit 1
fi

# Prepare m4/private.m4
rm -f m4/private.m4 && cat > m4/private.m4 << EOF
dnl  Private VLC macros - generated by bootstrap
EOF

# Check for autopoint (GNU gettext)
export AUTOPOINT
test "$AUTOPOINT" || AUTOPOINT=autopoint
if ! "$AUTOPOINT" --dry-run --force >/dev/null 2>&1; then
	AUTOPOINT=true
	cat << EOF
NOTE: GNU gettext appears to be missing or out-of-date.
Please install or update GNU gettext.
Also check if you have cvs, a dependency of autopoint.
Otherwise, you will not be able to build a source tarball.
==============================================================

EOF
fi

###
### Generate the modules makefile, by parsing modules/**/Modules.am
###

echo "generating modules/**/Makefile.am"
for d in modules/*/*/Modules.am; do
	d="${d#modules/}"
	d="${d%/Modules.am}"
	${CONFIG_SHELL-sh} modules/genmf "$d"
	printf "."
done
printf "\n"

set -x

###
###  classic bootstrap stuff
###

autoreconf --install --force --verbose ${ACLOCAL_ARGS}
rm -f po/Makevars.template

##
##  files which need to be regenerated
##
rm -f stamp-h*

# Shut up
set +x
echo "Successfully bootstrapped"
